One - One Code All

Blog Content

python标准库之zipfile压缩文件与解压缩zip

Python   2014-04-13 18:02:12

python标准库之zipfile压缩文件与解压缩zip


什么是zip文件?为何在网络上zip打包的文件比较常见?而不是rar?


zip是一种压缩归档的文件,zip开源的。


python的zipfile模块,有两个主要的类


ZipFile()

函数,判断是否为zip类型文件


zipfile.is_zipfile(filename)

Returns True if filename is a valid ZIP file based on its magic number,otherwise returns False. filename may be a file or file-like object too



直接从压缩文件中读取文件内容

ZipFile.read(name[, pwd])

# 实际上调用了self.open().read()

Return the bytes of the file name in the archive. name is the name of thefile in the archive



ZipFile.open(name[, mode[, pwd]])

Extract a member from the archive as a file-like object (ZipExtFile)



ZipFile.close()

Close the archive file. You must call close() before exiting your programor essential records will not be written.


ZipInfo()

# 压缩到指定文件
def file_zip(src, dst):
    zip_obj = ZipFile(dst, mode='w')
    zip_obj.write(src)
    zip_obj.close()


 # 解压缩
def unzip(src):
    zip_obj = ZipFile(src, mode='r')
    for info in zip_obj.filelist:
        zip_obj.extract(member=info)
    zip_obj.close()


zipfile的命令行接口


Usage:

    zipfile.py -l zipfile.zip        # Show listing of a zipfile

    zipfile.py -t zipfile.zip        # Test if a zipfile is valid

    zipfile.py -e zipfile.zip target # Extract zipfile into target dir

    zipfile.py -c zipfile.zip src ... # Create zipfile from sources


-c Create

-e Extract(提取)

-l List



上一篇:flask使用蓝图blueprint时static静态文件的访问
下一篇:python复制拷贝和移动文件

The minute you think of giving up, think of the reason why you held on so long.